#include "Gorselleyici.h"
#include "Exceptions.h"

//====================================================================================================================//
Gorselleyici::Gorselleyici()
{

}

//====================================================================================================================//
Gorselleyici::~Gorselleyici()
{

}

//====================================================================================================================//
void Gorselleyici::baslat()
{
	// TODO(MEHMET):	Bu metodun asil vazifesi iletisim bileseninin baslatilmasini saglamaktir. 
	//					Iletisim bileseni de dolayli olarak herhangi bir baglanti oldugunda gosterim bilesenini baslatacaktir.

	// TODO(MEHMET): Dummy code, test icin.
	//int nof_ids = 2;
	//int nof_points = 10;
	///*if (m_iletici)*/
	//{
	//	//if (m_iletici->baglan())
	//	{
	//		YorungeList yorunge_list;
	//		//m_iletici->pozlariAl(id_list, poz_list);
	//		for (int i = 0; i < nof_ids; i++)
	//		{
	//			int id = i;
	//			Yorunge yorunge = yorunge_list.at(id);
	//			for (int j = 0; j < nof_points; j++)
	//			{
	//				Koordinat kor(i+j,i+j*j,i+j*j*j);
	//				Oryantasyon ory(0,0,0);
	//				Pozisyon poz(kor, ory);
	//				yorunge.push_back(&poz);

	//			}
	//		}

	//		YorungeList::iterator it = yorunge_list.begin();
	//		while (it != yorunge_list.end())
	//		{
	//			const YorungeId y_id = it->first;
	//			Yorunge::iterator y_it = it->second.begin();
	//			while (y_it != it->second.end())
	//			{
	//				const Pozisyon& pozisyon = *(*y_it);
	//				m_gosterici->pozisyonEkle( y_id, pozisyon);

	//				y_it++;
	//			}
	//			it++;
	//		}
	//		m_gosterici->guncelle();
	//	}

	//}
}

//====================================================================================================================//
void Gorselleyici::beklet()
{
	// TODO(MEHMET): Bu metodun vazifesi iletisim paketinin data almasini bekletmektir (artik ne ise yararsa..)
	throw HenuzGerceklestirilmedi();
}

//====================================================================================================================//
void Gorselleyici::durdur()
{
	// TODO(MEHMET): Bu method var olan baglantilarin koparilmasini saglayacaktir.
	throw HenuzGerceklestirilmedi();
}

//====================================================================================================================//
void Gorselleyici::pozisyonEkle( int id, double x, double y, double z )
{
	Koordinat kor(x,y,z);
	Oryantasyon ory(0,0,0);
	Pozisyon poz(kor, ory);
	m_gosterici->pozisyonEkle( id, poz);
	m_gosterici->guncelle();
}
